package br.com.dev.tcc.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {

	private static final String BANCO_DADOS = "HelpMeS";
	private static int VERSAO = 1;

	public DatabaseHelper(Context context) {

		super(context, BANCO_DADOS, null, VERSAO);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {

		db.execSQL("CREATE TABLE corretor ( "
				+ "id INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ "nome VARCHAR(50) NOT NULL,  " + "email VARCHAR(60));");

		db.execSQL("CREATE TABLE plano ( " + "id INTEGER PRIMARY KEY, "
				+ "descricao VARCHAR(20));");

		db.execSQL("CREATE TABLE segurado ("
				+ "id INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ "nome VARCHAR(50) NOT NULL, " + "cpf CHAR(11), "
				+ "cnh VARCHAR(20));");

		db.execSQL("CREATE TABLE veiculo ( "
				+ "id INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ "placa CHAR(8) NOT NULL,  " + "cor VARCHAR(10) NOT NULL, "
				+ "modelo VARCHAR(25) NOT NULL);");

		db.execSQL("CREATE TABLE apolice ("
				+ "id INTEGER PRIMARY KEY, "
				+ "hash VARCHAR(40), "
				+ "id_segurado INTEGER CONSTRAINT id_segurado REFERENCES segurado(id), "
				+ "id_plano INTEGER CONSTRAINT id_plano REFERENCES plano(id), "
				+ "id_veiculo INTEGER CONSTRAINT id_veiculo REFERENCES veiculo(id), "
				+ "lembrete_ipva DATETIME, "
				+ "lembrete_rodizio DATETIME, "
				+ "lembrete_licenca DATETIME, "
				+ "vencimento DATETIME, "
				+ "id_corretor INTEGER CONSTRAINT id_corretor REFERENCES corretor(id));");

		db.execSQL("CREATE TABLE corretor_telefone ("
				+ "id_corretor INTEGER CONSTRAINT id_corretor REFERENCES corretor(id) ON DELETE CASCADE,"
				+ "telefone VARCHAR(13) NOT NULL);");

		db.execSQL("CREATE TABLE sinistro (" +
				"id INTEGER PRIMARY KEY, " +
				"id_apolice INTEGER CONSTRAINT id_apolice REFERENCES apolice(id), " +
				"data VARCHAR(20), " +
				"status VARCHAR(30), " +
				"status_mensagem VARCHAR(100), " +
				"tipo VARCHAR(50), " +
				"local VARCHAR(100), " +
				"descricao VARCHAR(300));");

		db.execSQL("INSERT INTO plano VALUES(1, 'Bronze');");
		db.execSQL("INSERT INTO plano VALUES(2, 'Prata');");
		db.execSQL("INSERT INTO plano VALUES(3, 'Ouro');");

		// FAKE		
		/*db.execSQL("INSERT INTO segurado VALUES(1, 'Victor Hugo', '340.134.098-01', '');");
		db.execSQL("INSERT INTO veiculo VALUES(1, 'DFR-3403', 'Preto', 'Fiat Uno');");
		db.execSQL("INSERT INTO corretor VALUES(1, 'Joilson', 'jojo_ilson@email.com');");
		db.execSQL("INSERT INTO corretor_telefone VALUES(1, '99132-9854');");
		db.execSQL("INSERT INTO corretor_telefone VALUES(1, '98260-8541');");
		db.execSQL("INSERT INTO apolice VALUES(1, '34313124', 1, 3, 1, null, null, null, '2014-09-21', 1);");
		db.execSQL("INSERT INTO sinistro VALUES(1, 1, '04/10/2013', 'Aguardando Aprovação', 'Em processo de análise detalhada da ocorrência', 'Colisão', 'Rua Dragões da Independência, Tucuruvi - SP', 'Um pouco antes do farol, que ainda estava aberto, um ciclista atravessou na minha frente, fui obrigado a frear em cima, o carro de trás não conseguiu frear a tempo e atingiu a traseira do veiculo');");

		db.execSQL("INSERT INTO segurado VALUES(2, 'Camila Brait', '740.134.098-01', '');");
		db.execSQL("INSERT INTO veiculo VALUES(2, 'DMO-0358', 'Branco', 'VW Fusca');");
		db.execSQL("INSERT INTO corretor VALUES(2, 'Alfredo', 'fredo@email.com');");
		db.execSQL("INSERT INTO corretor_telefone VALUES(2, '99132-9854');");
		db.execSQL("INSERT INTO corretor_telefone VALUES(2, '98260-8541');");
		db.execSQL("INSERT INTO apolice VALUES(2, '123758901', 2, 1, 2, null, null, null, '2014-04-12', 2);");

		db.execSQL("INSERT INTO segurado VALUES(3, 'Bruno Delfran', '240.134.098-01', '');");
		db.execSQL("INSERT INTO veiculo VALUES(3, 'STP-4025', 'Lilás', 'Citroen C3');");
		db.execSQL("INSERT INTO corretor VALUES(3, 'Parreira', 'parre.ra@email.com');");
		db.execSQL("INSERT INTO corretor_telefone VALUES(3, '99132-9854');");
		db.execSQL("INSERT INTO corretor_telefone VALUES(3, '98260-8541');");
		db.execSQL("INSERT INTO apolice VALUES(3, '52758901', 3, 2, 3, null, null, null, '2013-10-31', 3);");
		db.execSQL("INSERT INTO sinistro VALUES(3, 3, '08/09/2013', 'Recusado', 'Número do BO inválido.', 'Roubo / Furto', 'Rua Augusta, São Paulo - SP', 'Ocorreu na madrugada, eu estava num estabelecimento havia duas horas e quando fui buscar meu celular no porta-luvas não encontrei o veículo.');");*/
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
	}
}
